{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# visualize model outputs on val dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "import torch.backends.cudnn as cudnn\n",
    "import torchvision.transforms as transforms\n",
    "from munch import Munch\n",
    "\n",
    "import datasets\n",
    "import models\n",
    "import utils"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "oil_change_data_root = '../data/OilChangeDataset'\n",
    "ann_file = '20171103_OilChange.json'\n",
    "camera_name = 'floating_kinect1'\n",
    "mode = 'object'\n",
    "#mode = 'mask'\n",
    "config_path = 'pretrained/floating_kinect1_{}/config.yml'.format(mode)\n",
    "blender_path = '/usr/local/bin/blender'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(config_path, 'r') as f:\n",
    "    cfg = Munch.fromYAML(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loading annotations into memory...\n",
      "Done (t=0.46s)\n",
      "creating index...\n",
      "index created!\n",
      "loading annotations into memory...\n",
      "Done (t=0.47s)\n",
      "creating index...\n",
      "index created!\n"
     ]
    }
   ],
   "source": [
    "camera_parameters = utils.get_camera_parameters(oil_change_data_root, ann_file, camera_name)\n",
    "model_paths = utils.get_model_paths(oil_change_data_root, ann_file, cfg.data.objects)\n",
    "pose_renderers = [\n",
    "    utils.PoseRenderer(blender_path, camera_parameters, model_path, mode)\n",
    "    for model_path in model_paths\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=> loaded checkpoint 'pretrained/floating_kinect1_object/checkpoint_00002100.pth.tar' (epoch 2100)\n"
     ]
    }
   ],
   "source": [
    "model = models.Model(cfg.arch)\n",
    "model = torch.nn.DataParallel(model).cuda()\n",
    "cudnn.benchmark = True\n",
    "checkpoint = torch.load(cfg.training.resume)\n",
    "model.load_state_dict(checkpoint['state_dict'])\n",
    "model.eval()\n",
    "print(\"=> loaded checkpoint '{}' (epoch {})\".format(cfg.training.resume, checkpoint['epoch']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "transform = transforms.ToTensor()\n",
    "val_dataset = datasets.RenderedPoseDataset(\n",
    "    cfg.data.root, cfg.data.objects, cfg.data.val_subset_num, transform)\n",
    "val_loader = torch.utils.data.DataLoader(\n",
    "    val_dataset, batch_size=1, shuffle=True, num_workers=0, pin_memory=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def visualize_batch(model, pose_renderers, input, target, object_index):\n",
    "    target = target.cuda(non_blocking=True)\n",
    "    object_index = object_index.cuda(non_blocking=True)\n",
    "    position, orientation = model(input, object_index)\n",
    "    position_error = (target[:, :3] - position).pow(2).sum(dim=1).sqrt()\n",
    "    orientation_error = 180.0 / np.pi * utils.batch_rotation_angle(target[:, 3:], orientation)\n",
    "\n",
    "    image = input.numpy()\n",
    "    image = image.squeeze(1) if image.shape[1] == 1 else image.transpose((0, 2, 3, 1))\n",
    "    object_index = object_index.cpu().numpy()\n",
    "    position = position.cpu().numpy()\n",
    "    orientation = orientation.cpu().numpy()\n",
    "\n",
    "    for i in range(input.size(0)):\n",
    "        _, axes = plt.subplots(1, 2, figsize=(2 * 4, 4))\n",
    "        rendered_pose = pose_renderers[object_index[i]].render(position[i], orientation[i])\n",
    "        axes[0].imshow(image[i], cmap='gray' if image.ndim == 3 else None)\n",
    "        axes[1].imshow(rendered_pose, cmap='gray' if image.ndim == 3 else None)\n",
    "        plt.show()\n",
    "        print('position error: {:.4f} meters'.format(position_error[i]))\n",
    "        print('orientation error: {:.2f} degrees'.format(orientation_error[i]))\n",
    "        print('\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0021 meters\n",
      "orientation error: 4.38 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0044 meters\n",
      "orientation error: 4.64 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0052 meters\n",
      "orientation error: 2.97 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0016 meters\n",
      "orientation error: 2.85 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAC7CAYAAACqyN3cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAFmJJREFUeJzt3W2MXNWd5/Hvv6r6wW4/glnH+AkIthCbbDxgsaCgQCAza4gQhEwi5k2skYVXuzMRSBtFkEjL7sustKwU7WyyrIaEkSYQVsMsfhEMHi/KkEgQMBMYcNZgliSN8QPdXrf7sboezr7oWzVtIHG72+V7u/v7ka761qnqrnPa/fev7rmnbkVKCUmSVEylvDsgSZJ+N4NakqQCM6glSSowg1qSpAIzqCVJKjCDWpKkAutYUEfEjog4FBGHI+KBTj2PpM6ylqV8RSfeRx0RZeAt4A+B94CXgT9JKR08708mqWOsZSl/nTqivg44nFL6vymlSeAJ4M4OPZekzrGWpZx1KqjXA/3Tbr+XtUmaX6xlKWeVvJ44InYDu7Ob1+bVD2meGUgpXZJ3Jz7MepZmZUb13KmgPgJsnHZ7Q9bWllJ6BHgEICK84Lg0M7+5wM931loG61mapRnVc6emvl8GtkTE5RHRDdwD7OnQc0nqHGtZyllHjqhTSvWI+HPgWaAMPJpSerMTzyWpc6xlKX8deXvWOXfCqTJppg6klLbn3Ynfx3qWZmxG9eyVySRJKjCDWpKkAjOoJUkqMINakqQCM6glSSowg1qSpAIzqCVJKjCDWpKkAjOoJUkqMINakqQCM6glSSowg1qSpAIzqCVJKjCDWpKkAjOoJUkqMINakqQCM6glSSowg1qSpAIzqCVJKjCDWpKkAjOoJUkqMINakqQCM6glSSqwyly+OSJ+DQwDDaCeUtoeERcBPwYuA34NfDWl9P/m1k1JnWY9S8V0Po6oP59S2pZS2p7dfgDYn1LaAuzPbkuaH6xnqWA6MfV9J/BYtv8YcFcHnkPShWE9Szmba1An4LmIOBARu7O2tSmlo9n+MWDtHJ9D0oVhPUsFNKdz1MCNKaUjEfHPgH0R8X+m35lSShGRPu4bs/8Idn/cfZJyYT1LBTSnI+qU0pHs6wngb4HrgOMRsQ4g+3rid3zvIyml7dPOhUnKkfUsFdOsgzoi+iJieWsf+CPgDWAPsDN72E7g6bl2UlJnWc9Scc1l6nst8LcR0fo5P0op7Y2Il4EnI2IX8Bvgq3PvpqQOs56lgoqUPvaU04XtxO847yXpIw4UfXrZepZmbEb17JXJJEkqMINakqQCM6glSSowg1qSpAIzqCVJKjCDWpKkAjOoJUkqsLle61sF9I1vfIPrrruOpUuXcvz4cR588EFOnPjYKz9KKrhdu3axfft2SqUShw4d4uGHH867S7rAPKJegG688UZWrFhBT08PW7Zs4Zvf/GbeXZI0S1/84hfZsmULV111FXfddRe7du3Ku0u6wDyiXmBuuukmKpUK1WqVrq4uqtUqn/rUp3jooYcol8v09/ezd+9e+vv78+6qpLP47Gc/S3d3N9VqlcnJSRqNBl/5ylfYsGEDzWaTw4cP8/zzz3Ps2LG8u6oO8oh6gdi6dSv3338/O3bsoF6vc+mll1KtVqnVajQaDZYsWUJ3dzdXXnklX//611m71o8Vlops165d3H777SxZsoTly5czOTlJs9mkXq+327Zt28b999/P+vXr8+6uOsigXiC+/OUvs3r1alavXs3o6CiDg4NccsklrFy5kiNHjtDd3U2lUmlvd999N+vWrcu725I+xr333su6detYuXIlH3zwASklVq9e3V530t3dTblcpru7m56eHu644w76+vry7rY6xA/lmOd2797Ntm3b2LRpE++//z61Wo21a9fSaDSo1+uMjY1x4sQJ+vr6aDQaVCoVyuUyACMjIzzwwAM5j0DnyA/lWMC+9KUvccMNN7B161beeecdSqUS69atIyKo1WqMjY1x6tQpSqUSEUFPTw8RQUqJ06dP861vfSvvIejc+KEcC92mTZu49tprueSSS+jq6mLNmjX09vbSbDYpl8tMTk4yOTnJkiVL6OvrY9myZdRqNZrNJqVSiZUrV1KpuExBKoqbbrqJDRs20NPTw6WXXkpvby/lcplSqcTExAS1Wo3e3l5WrlzJ0qVLaTQaRASVSoWLLrrIel6gPKKep+699162bdvGxo0biQi6u7vb09u1Wo2RkRFOnTpFrVajr6+PlBLNZpPx8XGazSaNRoNGo8HPf/5zHn/88byHo5nziHoBuuOOO/j85z/PFVdc0a7nJUuWEBGMjIwwOjrK0NAQzWaTFStW0Pp/e3R0lGazCUCz2eS1117j+9//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\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0086 meters\n",
      "orientation error: 1.77 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAC7CAYAAACqyN3cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAGU1JREFUeJzt3X9sVOed7/H3d2yPx/YQGDAQGhsCFRXkVm02RU2XtlHSdvdmo23SjVZVIlXQNhHVvUmVSK10k15pt5X6I7sSWWXbZbep8qvS3pKskt1SKd2UDdCkSgOElPwAFwK3AWOM+WGMf81vP/uHz5keGxsPNjPn2PN5SUdz5pkx83zBX77nPM9zzphzDhEREYmmWNgdEBERkcmpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRFjFCrWZ3Wpmh8zsiJk9VKnPEZHKUi6LhMsqcR21mdUBh4E/A04Ae4G7nXMHr/iHiUjFKJdFwlepM+qPA0ecc//fOZcDtgJ3VOizRKRylMsiIatUob4G6Aw8P+G1icjsolwWCVl9WB9sZpuATd7Tj4XVD5FZ5qxzbnHYnRhP+SwyLWXlc6UKdRfQHnje5rWVOOceBx4HMDPdcFykPMeq/HlT5jIon0Wmqax8rtTQ915gtZmtNLM4cBewrUKfJSKVo1wWCVlFzqidcwUzux94CagDnnTOHajEZ4lI5SiXRcJXkcuzLrsTGioTKdc+59y6sDtxKcpnkbKVlc+6M5mIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISITVz+SHzex9YAAoAgXn3DozWwg8C1wLvA980Tl3fmbdFJFKUz6LRNOVOKO+xTl3vXNunff8IeBl59xq4GXvuYjMDspnkYipxND3HcAz3v4zwBcq8BkiUh3KZ5GQzbRQO+BXZrbPzDZ5bUudc93e/ilg6Qw/Q0SqQ/ksEkEzmqMGPuWc6zKzJcB2M/t98EXnnDMzN9EPev8RbJroNREJhfJZJIJmdEbtnOvyHk8D/w58HOgxs2UA3uPpSX72cefcusBcmIiESPksEk3TLtRm1mJm8/x94M+Bd4FtwEbvbRuBn8+0kyJSWcpnkeiaydD3UuDfzcz/c/6fc+4/zWwv8JyZ3QMcA744826KSIUpn0UiypybcMqpup2YZN5LRC6yL+rDy8pnkbKVlc+6M5mIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIyDStWrWKDRs20NbWFnZXZA6rD7sDteT+++/nc5/7HKlUihMnTvD973+fAwcOhN0tEZmGrVu30t7ezsKFC9m4cSMHDx7k61//etjdkjlIZ9RVdOedd9LU1EQymWTFihXcd999YXdJRKZhw4YNrFixgkOHDtHR0cG8efNYvXo1P/jBD/jsZz8bdvdkjjHnXNh9wMzC70QF3XvvvaUj7q997WsAPPDAA2zcuJGenh76+/vZsmULv/71r0PuqcwC+5xz68LuxKXM9Xz+9re/ze23387OnTv5xje+AcDNN9/M9773PWKxGMPDw/T29nLgwAGKxSJLliyhubmZ+vp6crkcvb29dHV18dRTTzEwMBByNBKysvJZQ99VkM1mSSQSdHZ2ltoee+wx7rzzThYuXEgymeTee+/lpptuor+/n8WLF9PQ0ECxWGR4eJi33nqL3bt3c/r06RCjEBGAoaEhkskk3d3dpbZdu3YxMjKCc47m5maamppoamrizJkzXLhwgWPHjpHJZHDO0dDQQGtrK9/61rd48cUXefXVV0OMRmaDKc+ozexJ4C+B0865D3ttC4FngWuB94EvOufOm5kBjwG3AcPAl51zb07ZiTl+BA6wbds22tvbefPNN/nxj3/MrbfeWhoiy+fzHD9+nLNnzzI0NARAoVAgk8mQy+UYGBigWCyybNkyTpw4wW9/+1v+8Ic/hBmOhGdGZ9TK5yvjV7/6FalUir6+Pvbs2cOHP/xhUqkUIyMjnD9/nq6uLpxzpa1YLJLP5ykWi2SzWfL5PAMDA5w/f57W1lYAduzYwdtvvx1yZFJlZeVzOYX6JmAQ+Gkgsf8e6HXOPWJmDwEp59z/MbPbgK8zmtg3Ao85526cshM1kNgbNmzgO9/5Dh0dHVx11VXAaDE+ePAg+XyeWCzGyMhI6ag8n89TKBQoFovkcjny+TzDw8OcO3eOYrFIW1sbu3btYt++fSFHJlU200KtfL4C7rnnHr773e/y1ltvMX/+fJxzDA8Pc+zYMUaPb8A5V8pnP4/93C4Wi2QyGQYHB8nlcpw+fRozI5VKsWXLlpCjkyoqK5+nXEzmnHsF6B3XfAfwjLf/DPCFQPtP3ajXgQVmtqz8Ps9dO3bsoK6ujkQiUWo7d+4cZkZjYyMNDQ00NjbS2NhIPB4nkUiUtsbGRpqammhubiaVStHS0sLJkydZv359iBHJbKR8vjL27NlDY2Mjzc3N+Cc7PT09NDQ0TLr5eV5fX09DQwPxeLw0RD5v3jwAFi9ezJe//OUQI5Momu4c9VLnnD9BcwpY6u1fA3QG3nfCa+tmHDPbBGya5ufPOidOnKCvr48VK1bQ09NDX18fAwMDJJNJzKw0ROafVRcKhVK7fwSey+VIJpNks1n6+vro7+/nK1/5Cq+//jodHR1hhyizl/L5Mr3zzjv09vayatUqOjs7OXv2LPX19cTjcYBS8fbzuVgs0tjYOCaf4/E4DQ0N5PN5zIzm5mZ+//vfc+HCBb761a/y5JNPhhmiRMiMF5M559x0hrqcc48Dj0NtDJUB9Pf3M3/+fNLpNOfPnycej1NXV1cq0sCYx2DBHhkZoa6ujlgsVvrPIB6Pc/z48dJQushMKZ/Ld+bMGT74wQ8yNDTE8PAw9fX1xGKxMTlsZqW8DQ6Fx2Kx0hB5XV1dKc9bWlpKK8VFfNMt1D1mtsw51+0NhfnLkbuA9sD72rw2Afbv319agOIXaT9Zg2fVQGleKx6PXzTPVSwWaW5uJp/Pk0wmaW9vp62tjeeffz7M8GT2Uj5PQ0dHB0uWLGFwcJBEIkFdXd2Y18cffBeLxVIe+wfh8XicQqFAY2MjuVyOhoYG+vv72bNnD7fffjvbtm2relwSPdMt1NuAjcAj3uPPA+33m9lWRhefXAgMqdW8M2fOMDQ0xMjISOno2y/U4/lH3cGVo/7PFYtFYrEY9fX1jIyMANDQ0MCHPvQhmpqaWL58Oc45du3axeDgYDVDlNlJ+TwNQ0ND9Pf3A5TOmscLFmt/3z8o93PfX0gai8VoaWnBOUcqlSKbzbJ27VpNa0lZq75/BtwMtAI9wN8C/wE8BywHjjF6OUevdznHj4BbGb2c4yvOuTem7ESNDJW99NJLNDY2Mjg4iJmNOZv2TfXv4Z9d++/r7u4ml8sRi8VKi1U6OzuJx+PMnz+fgwcP8thjj1UuKKm2ma76Vj5fIXv27CGdTjM8PIyZjSnUfiEef1bt7wfXo4yMjJDJZCgUCgwNDdHX18f777/P/v37WbZsGS+88ELVY5OquTI3PHHO3T3JSxfdJ8+N/jbqvpiTWLRoEWfOnKG+vn5MoQbGXNIBXHR0Pv7M28woFovMmzeP+vr60hF9XV0dp06dKv1Z/ny2CCifr6RkMklvb28pn33BAh1s8wVf80fEmpubS1NbCxYs4CMf+Qgf/ehHMTPWrFlDXV0dg4ODbNu2jaNHj1Y4Moka3ZmsivwE9uemJxr29tvHn21P9ujPdReLxdLCtJGREeLxOP39/Zw7d64aoYnUnGKxCDBmCNs3vlj701gTDXvDH9ekxGIxEokEsVisdOCdSCSor6/nAx/4AOvXr1ehrkEq1FXkr+z0F51MdJY8WdIH2/z31dXVlYp+Op0u3f0omUxy9uxZHnnkEbLZbDVCE6kpa9asIZ1Ojxnyniif/QIdLNTB1/1H/wDbv1wzWOjz+Xxp8ehka1pkblOhrpIVK1aUznonmpue7Cx6fHtw319Q5pyjsbGRgYEBMpkMhw8f5o033lCRFqmQ1tZWcrncmIPuyYro+ANs3/i8Dv7fEFxE2tDQgJnR1dXF8ePHKxmWRJQKdZUEr6ecamj7Um3wx2us/aGy4eFhTp48SVdXFxcuXCh9iYeIVEY8Hh+Ty5Pl82Rt458750oH3c45+vv7yefz5HI50uk07777Ls8991ylw5KIUqGukmKxWDoynqwAT7YSHC6+JrNQKJSuv/RvlHDVVVcRi8Vob2/n1KlTHDt2rBqhidScTCYz5YLPqYxfCQ6jw9zpdJpMJsO5c+c4d+4cuVxOo2M1bsp7fcuV0dnZSUtLCzD5kPalinTwLNov0iMjI6TTadLpdGkObHBwkNbWVtauXVvdAEVqyGuvvca8efMumne+lPH3RPBz2S/O/tdn+rcJzuVypUu/NDdd21Soq2jBggXE4/FLDnPDxQk9vkD7Q2LZbLZUqP3rOf1rtKe6HltEZmbJkiWXvGHRRNdL+7nsb/l8vrTlcjkGBwdJp9MADA4O0tfXRyKR4Pz589UMTSJGQ99VlM1mSSQSpdWiQZMV1smK9vitUCiQy+UoFAokEgkymUw1QhKpaf68MjDp2fVENzsJnlX7txMNHoTncrnSTVBaWloYHh6uWkwSPTqjrqJf/vKXrFy5snT9ZTBpx2+XOgIvFApks1kymUzpTHp4eJhMJlO6CUp3t+70KFJJ+/btY82aNaV7eE909hzc/O+Xn2hkLJjL/pd8DA0N4Zwjl8uxd+/esMOVEKlQV9GOHTvIZrOlo+iJlDNkNj7h/QLuHwAMDQ1x+PDhaoYmUnO2b99eysnxI2LBHB7/OD6fR0ZGyOVyFw2D+39uT09PSBFKVGjou4qeffZZFi1axDe/+U0OHz5MIpG46Nah42/i7ye1877H1k/gbDZLPp8nm82WFp6MjIxgZjqbFqmCzZs3s3TpUj7zmc9w8uTJ0mLRS+Xy+G/P8kfIMplMafGYf3Ydi8VYsGABTz/9dFghSkTojLrKtmzZQiqVoq2tbcyQ2WRz0RPtB4fRgkfl/ndV79+/P+wwRWrCE088QXt7OwsXLizl4aVGxcafUfuFOrj5f46+l1p8KtQheOKJJ0gmk+Tz+UnnooOJ6w+L+fNZ/mITf/Mv1crn8yxfvpyDBw+GHaJITTh06BAvvvgira2tZDKZKeej/Rwev2UymVJu5/N5nHNcffXVOugWQEPfofjJT37Ctddey+LFiykUCsDEc1qTzVFPdJYNkEql6O3tDTM0kZrzox/9iKVLl9LQ0DDh6NhEc9Pji3kwt51zpZsZbd++PezwJAKm/D7qqnSiRr6/drydO3eSy+XGfKtOcB4rOAQWXHDiz1EXCgXS6TT5fJ6+vj66u7vZunVr2GFJZc3o+6iroZbzeWBgoPTcz+NgPgc3/wx7fD6n02kWL17Mww8/HGI0UiVl5bOGvkN0yy23MDg4SCqVIp1Ol4axg8Nl/qNfoCdL9lQqpSItEqJbbrmFTCbDokWLGBoaIpPJXLSSO/g4Ptez2SzJZJKVK1eqSMsYKtQh27x5M4cPHyaVSl00nD3VUHg+n6exsZHly5fzwx/+MOxQRGreo48+yu9+9zuuvvpq6urqSutHJtqCw+OFQoGmpibi8Ti/+MUvwg5DIkZD3xFx44038vnPf55PfvKTZLNZTp8+XZp7DhbmTCaDc462tjbMjM2bN/P666+H3HupIg19zxJ33303X/rSl6ivr6e3t5f+/v4x9+l3zpFKpUgmk/zmN79h7969vPbaa2F3W6qrrHxWoY6YBx98kBtuuIG2tjaGh4dL36Tj38wkkUjQ3NzM7t27eeWVV3j11VdD7rFUmQr1LLJ+/Xo+9rGP8elPf5qWlpYx89X5fJ733nuPo0eP8tRTT4XdVQmHCvVcsXbtWorFou42JqBCLTKXlJXPujxrFujo6Ai7CyIiEhItJhMREYmwKQu1mT1pZqfN7N1A27fNrMvM9nvbbYHXHjazI2Z2yMz+Z6U6LiKXT/ksMvuUc0b9NHDrBO3/4Jy73tteBDCz64C7gP/h/cwWM6u7Up0VkRl7GuWzyKwyZaF2zr0ClHtfyjuArc65rHPuD8AR4OMz6J+IXEHKZ5HZZyZz1Peb2dveUFrKa7sG6Ay854TXJiLRpnwWiajpFup/Bj4IXA90A5sv9w8ws01m9oaZvTHNPojIlaF8FomwaRVq51yPc67onBsBfsIfh8O6gPbAW9u8ton+jMedc+uifk2oyFynfBaJtmkVajNbFnj6V4C/gnQbcJeZNZrZSmA1sGdmXRSRSlI+i0TblDc8MbOfATcDrWZ2Avhb4GYzux5wwPvA1wCccwfM7DngIFAA7nPOFSvTdRG5XMpnkdlHtxAVmV10C1GRuUPfRy0iIjLbqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISISpUIuIiESYCrWIiEiEqVCLiIhEmAq1iIhIhKlQi4iIRJgKtYiISIRNWajNrN3MdprZQTM7YGYPeO0LzWy7mb3nPaa8djOzfzSzI2b2tpndUOkgRKQ8ymeR2aecM+oC8A3n3HXAJ4D7zOw64CHgZefcauBl7znAXwCrvW0T8M9XvNciMl3KZ5FZZspC7Zzrds696e0PAB3ANcAdwDPe254BvuDt3wH81I16HVhgZsuueM9F5LIpn0Vmn8uaozaza4E/AXYDS51z3d5Lp4Cl3v41QGfgx054bSISIcpnkdmhvtw3mlkSeB540DnXb2al15xzzszc5XywmW1idChNRKpM+Swye5R1Rm1mDYwm9b86517wmnv8ITDv8bTX3gW0B368zWsbwzn3uHNunXNu3XQ7LyKXT/ksMruUs+rbgCeADufco4GXtgEbvf2NwM8D7Ru81aKfAC4EhtREJETKZ5FZyDl3yQ34FOCAt4H93nYbsIjR1aHvAf8FLPTeb8A/AUeBd4B1ZXyG06ZNW1nbG1Plk/JZm7ZZs5WVz+YlVqgudz5MpIbti/rwsvJZpGxl5bPuTCYiIhJhKtQiIiIRpkItIiISYSrUIiIiEaZCLSIiEmEq1CIiIhGmQi0iIhJhKtQiIiIRpkItIiISYSrUIiIiEaZCLSIiEmEq1CIiIhGmQi0iIhJhKtQiIiIRpkItIiISYSrUIiIiEaZCLSIiEmEq1CIiIhGmQi0iIhJhKtQiIiIRVh92BzxngSHvsRa1othr1eXGv6JSHbmCBoFDYXciJPp9rt34pxN7WflszrnL704FmNkbzrl1YfcjDIq9NmOHuRn/XIypXLUcO9R2/JWMXUPfIiIiEaZCLSIiEmFRKtSPh92BECn22jUX45+LMZWrlmOH2o6/YrFHZo5aRERELhalM2oREREZJ/RCbWa3mtkhMztiZg+F3Z9KMLMnzey0mb0baFtoZtvN7D3vMeW1m5n9o/f38baZ3RBez2fOzNrNbKeZHTSzA2b2gNc+5+M3s4SZ7TGzt7zYv+O1rzSz3V6Mz5pZ3Gtv9J4f8V6/Nsz+T8dcz2flcm3mMoScz8650DagDjgKrALiwFvAdWH2qUJx3gTcALwbaPt74CFv/yHg77z924BfAgZ8Atgddv9nGPsy4AZvfx5wGLiuFuL3Ykh6+w3Abi+m54C7vPZ/Af6Xt/+/gX/x9u8Cng07hsuMd87ns3K5NnPZiye0fA478D8FXgo8fxh4OOx/kArFeu245D4ELPP2lwGHvP0fA3dP9L65sAE/B/6s1uIHmoE3gRsZvSlCvddeygHgJeBPvf16730Wdt8vI8aayGflcimemsxlL5aq5nPYQ9/XAJ2B5ye8tlqw1DnX7e2fApZ6+3P278Qb+vkTRo9EayJ+M6szs/3AaWA7o2ecfc65gveWYHyl2L3XLwCLqtvjGZlT/3aXoSZ+l4NqMZchvHwOu1AL4EYPueb08nszSwLPAw865/qDr83l+J1zRefc9UAb8HFgTchdkgqay7/LvlrNZQgvn8Mu1F1Ae+B5m9dWC3rMbBmA93jaa59zfydm1sBoYv+rc+4Fr7lm4gdwzvUBOxkdGltgZv599oPxlWL3Xp8PnKtyV2diTv7blaFmfpeVy6Oqnc9hF+q9wGpv1Vyc0Qn3bSH3qVq2ARu9/Y2Mzvf47Ru8FZOfAC4EhpVmHTMz4Amgwzn3aOClOR+/mS02swXefhOj83kdjCb4X3tvGx+7/3fy18AO7wxltqjVfJ7zv8tQ27kMIedzBCblb2N09eBR4P+G3Z8KxfgzoBvIMzqHcQ+jcxUvA+8B/wUs9N5rwD95fx/vAOvC7v8MY/8Uo0NhbwP7ve22Wogf+AjwOy/2d4G/8dpXAXuAI8C/AY1ee8J7fsR7fVXYMUwj5jmdz8rl2sxlL57Q8ll3JhMREYmwsIe+RURE5BJUqEVERCJMhVpERCTCVKhFREQiTIVaREQkwlSoRUREIkyFWkREJMJUqEVERCLsvwH5fbnlQgTf6wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0035 meters\n",
      "orientation error: 5.36 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAC7CAYAAACqyN3cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3XtsXOd55/HvOxxy7hzeL+aQokRRtihFlrSyY8Nu1QBxnObSOG1dOChaYxvXi9gFWmADb9oASbbAtthFNwGC9TZx0NQO2lwRO0mbi+Jmnbp1assX+aJIoiTSssT7ZTicGXLu8+4fnDmhfKUu1ByRvw8w4Jl3znDeZ6SHzznvOec9xlqLiIiIuJOn1h0QERGRt6ZCLSIi4mIq1CIiIi6mQi0iIuJiKtQiIiIupkItIiLiYutWqI0x7zfGDBtjThtjPrVenyMi60u5LFJbZj2uozbG1AEngduAMeBZ4GPW2mOX/cNEZN0ol0Vqb732qG8ETltrR621eeCbwEfW6bNEZP0ol0VqbL0KdQ9wbtXzsUqbiFxdlMsiNeat1QcbY+4F7q08/U+16ofIVWbOWtte6068nvJZ5KKsKZ/Xq1CPA72rnscqbQ5r7UPAQwDGGE04LrI2r13hz3vHXAbls8hFWlM+r9fQ97PAoDFmqzGmAbgL+ME6fZaIrB/lskiNrcsetbW2aIz5E+AQUAd81Vr7y/X4LBFZP8plkdpbl8uzLrgTGioTWavnrbUHat2Jt6N8FlmzNeWzZiYTERFxMRVqERERF1OhFhERcTEVahERERdToRYREXExFWoREREXU6EWERFxMRVqERERF1OhFhERcTEVahERERdToRYREXExFWoREREXU6EWERFxMRVqERERF1OhFhERcTEVahERERdToRYREXExFWoREREXU6EWERFxMRVqERERF1OhFhERcTEVahERERdToRYREXEx76W82RhzBkgBJaBorT1gjGkBvgX0A2eA37PWLlxaN0VkvSmfRdzpcuxRv8dau9dae6Dy/FPAz6y1g8DPKs9F5OqgfBZxmfUY+v4I8Ehl+RHgjnX4DBG5MpTPIjV2qYXaAj81xjxvjLm30tZprZ2sLE8BnZf4GSJyZSifRVzoko5RA7daa8eNMR3A48aYE6tftNZaY4x9szdW/hDc+2aviUhNKJ9FXOiS9qitteOVnzPAY8CNwLQxphug8nPmLd77kLX2wKpjYSJSQ8pnEXe66EJtjAkZYyLVZeB9wFHgB8DdldXuBr5/qZ0UkfWlfBZxr0sZ+u4EHjPGVH/P1621PzHGPAt82xjzceA14PcuvZsiss6UzyIuZax900NOV7YTb3HcS0Te4Hm3Dy8rn0XWbE35rJnJREREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERcTIVaRETExVSoRUREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERcTIVaRETExVSoRUREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERcTIVaRETExVSoRUREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERc7B0LtTHmq8aYGWPM0VVtLcaYx40xpyo/myvtxhjzRWPMaWPMy8aY/evZeRG5MMpnkavPWvaoHwbe/7q2TwE/s9YOAj+rPAf4TWCw8rgX+NvL0803OnDgALfddht33nkn999/Px//+MfX66NENpKHcWE+i8hb877TCtbaJ40x/a9r/gjwG5XlR4CfA/+t0v41a60FnjbGNBljuq21k5fSyaGhIXw+H8FgEIBoNEpzczPFYpFIJML27dtJJpN4vV6KxeKlfJTIhuaGfH4zkUiE5uZmzp49y/79+4lGo/h8Powx/PjHP77cHydyVXnHQv0WOlcl6xTQWVnuAc6tWm+s0vaGxDbG3MvKVvpbuvHGGxkaGqKrq4t0Ok2pVKKjo4NEIsHAwACxWAy/38/4+Dh+v5/77ruPn//857z88ssXGZbIpnRF8vnNfPSjH6Wvr494PE46neaWW27B7/fT19fH1q1byWQyZLNZnnjiiQv91SIbxsUWaoe11hpj7EW87yHgIYC3ev/OnTvxeDxMTEzg8/nwer3Mzs7S1dXF0NAQzc3NFAoFpqamMMbQ0dHB+973PgqFAtlslldfffUSoxPZXNYzn19v9+7dRCIRkskk0WiUhoYGBgYG6O3tpbGxkaWlJUqlEjfccAP5fJ7h4WHm5uYutGsiV72LLdTT1SEwY0w3MFNpHwd6V60Xq7RdkIMHD9Lb20t9fT0+nw+fz0c+nycSibB161a2bNlCV1cX+XyefD5PT08P8/PztLe34/P5+MxnPkNLSwsjIyN0dnbS2NjIt771Lf75n/+ZqampiwxZZMO6rPnc1tb2tgW1s7OTa6+9lu7ubnw+H9lsllgsxsDAAPv27WNqaoqpqSmCwSBer5eBgQFaW1vZtm0bTz31FPF4nK997WsA3H777Rw6dOiiAxe5Glzs5Vk/AO6uLN8NfH9V+x9Wzha9CVi80ONZ4XCYvXv30t3d7Wxl53I5gsEgnZ2dxGIxkskk8/PzLC8vY4zB6/USiUQoFouEw2F8Ph+ZTIbu7m4aGhqYnp7m9ttv57d+67cuMlyRDe2y5rPP52Pr1q1v+fq+fftob28nEolQKpWIxWLccMMNDA0NEQgE8Pv9tLS0AOD1evH7/UQiEYaHh7nzzju58847GRwc5IEHHuD+++/nrrvuupTYRVzPrJwn8jYrGPMNVk40aQOmgc8C3wO+DfQBrwG/Z62NG2MM8H9YOat0GfjP1trn3rETxtg9e/YQCoW4/fbbyWQyJJNJAoEAHo+HgwcP4vP5KJfLNDU1USqVOH78OAMDA85edSKRcIa/8/k8U1NT+P1+mpub8Xg8WGspl8t86EMfuoSvS6TmnrfWHrjYN1+JfN6yZYv9xCc+QSAQ4Etf+hInTpwgHA5z4MAB9u3bx/z8PAA7duygr6+Prq4ufD4fjY2NAHg8K/sPr776Kvl8HmMMdXV1LC0tsXv3bhKJBMVikWKxSCAQIJfLcffdd2u0TK5Ga8rndyzUV0J/f7/9nd/5HVpaWojH42QyGYLBIHv37mXLli1s2bKF5eVljh07RjabJRgM0t7eTqlUIh6PEwwGCQQCZDIZFhYWWFhYoL29nYaGBrze80f3z5w5w1e+8hWOHDlSo2hFLsklFeorob+/337yk58kk8mwZcsWRkZGMMYwOjpKOp1m586d7Ny5k0QiwY4dOwiFQpw8eZJMJsO+ffuYmZmhXC4zNzdHNpvl4MGD+P1+XnrpJcLhMFNTU2zduhWPx0OhUADg5MmT/NEf/VGNIxe5YGvKZ1fMTFYqlWhpaaFQKJBIJAiHw85xrC1btrC4uMji4iKtra309vbS0dFBsVhkaWmJ8fFx51KtRCLB3NwcXV1dBAIBrLWs7BSAtZZisUgsFuOOO+6occQiG5e1Fp/PRzgcJplMUiwWmZ2dJZfL0dbWxr59++jv78fn8zEzM8PY2BiBQIC2tjaKxaJz6Mrr9bJt2zaWlpYYGRlhYmKCQqFALBbDWkuhUHDyu7e3l2g0WuPIRdaHK/aoY7GY/fCHP4zH46GpqYmbbrqJcDiM1+s9b4+4WmyXlpYYGxujubmZxsZGZy87l8tRX19PMpkkHA5jjCGRSBCNRqnGWS6X8Xg8fOc73+Hv//7vaxWyyMVy/R714OCgfeCBBwAYGRlhfHyccDjM7bffTiwWo7m5mWw2SzabJZ/P4/P5sNaSz+cZHx9ncnISj8fDwMAAxhhmZmYolUpOcY/H47S0tGCtdR4jIyMAfOc73+GHP/xhLcMXuRBXzx51sVikUCjQ1tbGjh07aGxspKGhgUKhQD6fx1pLLpdjYmKC2dlZxsbGaGtro1QqUS6XaW1tJRQKOWeIA2SzWay1eL1ecrkcgLOHba3llltuqWXIIhuWtdYZ9Zqfn6epqYmhoSEGBwfp6elhcXGRbDYL4BTpdDrN7Owsi4uLbN++nZ6eHiYnJzl79iyhUIiWlhbq6+sxxjiFvro3DdDY2Eh/fz8f+9jHahW2yLpxRaG21vLbv/3b3HbbbcRiMSYnV04sLRaLxONxpqenzxvGDgaDTmFvbm521q2vrycYDNLS0oLX66VUKjl71sB5id3S0qJiLbIOyuUyw8PDnDp1ij/4gz9g//79vPe97yWXyxGPx6mrqwNWDnklEglGRkY4ceIExhgikYiTx319ffT399PY2EgkEmFpacn5O1AqlVhcXHQ+s729HY/HQ29vL3/zN39DV1dXrcIXuexcUahDoRDhcJh0Os3x48fp6+tjeXmZyclJkskkTU1NFItFFhcXSaVS5HI5zpw5w8svv8zCwgLFYpFSqYTP5yMQCDiJvry87Bwvi8fjzudVj2+dPXu2hlGLbEzWWhKJBPv376epqYlMJsPw8DDFYpGZmRmWlpYwxpDL5Th16hSTk5PEYjEymQwtLS20tLTQ0NBw3ggYrFyqlc/ngZW/Gas3vKuMMWzfvp3f//3fv6Ixi6ynS56Z7HLw+/0sLy9TKpXYsWMHx48fx+/3EwqFSKfTDA8PEwwGnePWxWKR5uZm0uk0r732Gu9617vweDz4/X6KxSL5fB6v10soFKJYLOL1emlubiaZTDpnit53333nbZGLyOVRV1fHzTffTDab5fHHH2ffvn1MTk5SKBQIBALOiNnMzAyxWIxUKsXY2BjZbJbFxUVnspNwOAzgDHcnk0lyuRz5fJ5QKEQkEmF6eto5VJbP5ykUCoyOjvKLX/yill+ByGXlikI9NTXFI488QigUIhAI0NzcTFNTE93d3SSTSVKpFPF4nFAoxMGDB0kkEszOztLZ2ckrr7xCLpdjZmaGHTt2OHOC53I5wuEw8/PzZLNZQqEQ0WiUY8eO8c1vflNFWmSdeDweUqkUs7OztLe3k06nz5uoaGJightvvJG9e/eysLBAV1cXx44dc0a/qhvakUiEiYkJuru7nWPaDQ0NwMo5KD6fj46ODlKpFF6vl1OnTvGjH/2If/qnf6pl+CKXnSuGvmHlZJBgMEgwGKSnp4e2tjYmJibIZrO0t7fT3d3N+Pg48XgcYwzBYJByuUxnZydzc3NkMhnm5uZYXl52zhbP5/MEg8HzLtEKhUIa8hZZR/X19aRSKZqamojFYhhjWFxcpFAoEAqF2L59O/X19TQ3N3P69Gmy2SzNzc3k83laW1vJ5/PkcjkaGhqcyU6qE5zk83nnZ6lUwlpLJBIhk8nw7W9/W0VaNiRXFGqv10tbWxs+n4/rr7+ehoYG4vE4pVIJv99Pe3s7Xq+XWCzGf/zHf5DL5Zifn2dkZIRwOExzczPd3d3nnR0+PT1NJpNxZidLp9NYa9m2bRv/8A//wIc//OFahy2yIU1NTVEqlUilUszNzTnnlaRSKQqFAtdeey3GGI4fP87BgwcpFAo0NjZyzTXXsLCw4BwKy+fzXHfddVhrqauro76+3jnz2+/3O1d2WGsJh8M89dRTtQ5dZF24plBns1l6e3vxeDzE43Fn63rnzp14vV58Pp+TnPPz8ywuLjI/P088HqdYLOLxeFhcXMTr9dLY2EixWKRcLgM4N/eonogCsH379lqFK7KhRSIRstksyWSSU6dOORvTjY2NDAwM0N7eTigUcubwv+6665y8LZfLhMNh+vr68Pv9JBIJ52/CyMgIs7Oz5PN5yuWycx+Auro6mpub+cIXvsCtt95a6/BFLjtXHKP2eDwcOHDAuUa6oaGB3t5euru7KZVKeL1eAoEAhUKBjo4OpqenicViBINBpqennSI8NzdHXV0du3fvpre3l3Q6TSKRIBAI8O53v5vFxUWOHj3KiRMn+MIXvlDrsEU2pHw+T2dnJ4FAgFQqxbFjxzDGcOutt9Lc3EwgECAWi5HNZjl06BD9/f2MjIzg9/sJh8NMTEywa9culpaWnHNTqieS5vN56uvrKRaLBINBQqEQhUKBYrHI9u3b+eAHP8i///u/1/orELmsXFGofT4fk5OTzjGngYEBQqGQ8xxWji/7/X58Ph+7du0iHo8TiUSIRqO8+OKL9PT00N7ezqlTp5zrpxcWFpwZy0ZHRzHGkEwmOXr0aI0jFtm4jDG0tLQ4RTUSiZBKpUgmk4RCIYLBIMlkkkwmQzabdW62Mz8/z9zcnDNXf/VmO01NTZTLZef2mT09Pc4Jo9FoFI/HQyaT4V//9V957LHHah2+yGXnikJdPTHE6/Vy4MAByuWyU6Bh5fKt6jGvHTt2kM1mWV5eZmZmhtbWVgYHB2ltbXXuVf3000+zc+dOOjo6WFpawufzcfbsWUqlEo8++qhOOBFZR01NTc7Uv9VjyH6/n97eXiYmJpifn8cYQ2NjozN16AsvvMC1117LNddc44yaVa/8KBaLJJNJpqen2bZtGxMTE85tMqempvB6vYyOjvJXf/VXNY5cZH244hg1rExgsGPHDoDzijSsbKFXzxjN5/OkUimWl5edKUarZ4IaY6ivr2fr1q3O/MDGGIrFItlslsOHD6tIi6yzah7W1dXh9XppaGigoaGBJ554AsCZYSyRSOD3+53Lsp5++mmamprI5/P09vYSiUScOb9bW1tJp9MA9PT0kE6nWV5eZmpqitnZWY4fP17LkEXWlSv2qOvr69m7dy+FQoFSqfSG16empohEIs5sRY2NjUSjUWeawLGxMVKpFC+99JJzyVb1TjxTU1PMzc3h8/mcDQERWT/WWlpbW0mlUqTTaQKBAENDQ5w9e5alpSWy2SzRaJREIgHACy+8wA033EAikWB5eZnu7m5SqRR1dXXMzMywfft2tm7dSiQSIRgMOnP4T01N0dnZyZe//GUeffTRGkctsn5cUairN+CA8+fjTqfT1NfXO5McrN7Trm6FZzIZYrEY09PT9PX1kc/nGR0dpauriyNHjvC5z33uisYistlVr7YIBoPE43Hq6+t56qmnnIlQAoEACwsL7Nmzh2effZZt27axa9cujDG88sorAITDYYaHh2lvb6dQKJBKpZyb96TTaT772c9y5MgR/uIv/oJdu3apUMuG5opCXS3OHo+HdDpNMBgkm83S0NBAU1MTTz75JENDQ84wWZW1lkAgQDabpa2tzZn0/9y5czqzW6SGqvMW9PT0OHN2z87OOieI5vN5Xn31Vee1TCZDPp+nsbGR48eP09XVRTQaxev1UldXRyaTce6udejQIY4cOQLAgw8+SDKZrHG0IuvLFYW6OqFBQ0MD5XKZhYUFmpqaAMhkMs5NNTo7O/F4Vg6rnzx5kmg0ysmTJ9myZQsA8/Pz/PKXv9R9pkVqqHqDnOq8/MYY2tvbaW9vx1rL4cOHnas6qpdXHTt2jGg0SjqdZv/+/cTjcVpbW5mbm+OZZ55hYmKCv/zLv3zDZ2kqYNkMXHMymTGGeDxOoVBwijSsDKP19fXR0tLCiRMnKBaLTE5OsrCwQD6fp6enh7q6OiKRCE8++aSKtEiNVafwXX33q+oD4LrrrnOm+q1OF2qtZWZmhv7+fgKBAD6fz9loP3z4sM7olk3NFYXaWuvc+q6+vv689uotK2+++WastWSzWTo6Orj++uvZu3cv3d3d9PT0EI1G+eM//mO+/vWv1zASESkUCrz00kvMzc2dd6iqXC5TKpVobGzk+uuv56WXXqJUKjE5OYm1lq6uLjweD0ePHuW1117jpz/9KT/+8Y/56le/SrFYrGFEIrXlikINK5OewBsvzbLWkslkeO2114hEIs70hOl0mueff55IJOL8AQgGg87QuIjUTk9PD4VCAY/H4+xZl0olotEozz//PE8++SSDg4Mkk0nC4TCFQoFsNsvY2BjxeJxkMklfXx+xWKzWoYjUnCuqWl1dHYuLi4yOjp43Exng3MN2dHSUjo4OZ0L/bDZLIBBw5v31+XxYa2lra9OZ3iI1VF9fTzweJx6Pc+bMGeLxOEeOHOHMmTM8++yzeL1e+vv7OX36NHV1dSQSCQqFAiMjI0xPT9PV1UVfXx979uxh69attQ5HpObesVAbY75qjJkxxhxd1fY5Y8y4MebFyuMDq177c2PMaWPMsDHm9rV0IpVKkUgkaGxsPO/yLKeTHg/RaJS5uTnnRJTqBP3JZJKGhgZKpRLpdJpMJsMtt9zCN77xjTV+BSKbx5XI52KxSFdXF01NTRhjWFhYoFQqUVdXh8fj4dZbb2VgYIC9e/fS19fHrl27nLm+l5aWmJiYYHh4mE9/+tM88MAD6/E1iFxV1rJH/TDw/jdp/4K1dm/l8SMAY8wQcBewq/Ke/2uMqVtLR+bn5wmFQs7JJ2/mmmuuce6ws3v3bjKZDNPT0wDnTZRSnXDhwQcf5O67717Lx4tsFg+zzvlcV1fHwsIC5XKZ9vZ2Kr+LhoYG3vWudzE/P082m8Xr9ZJIJBgfH2fLli00NDQQjUZJpVLAyt8EEVlDobbWPgnE1/j7PgJ801qbs9a+CpwGbnynN1Uv4RgeHubs2bMAb7lnba2lv7+fwcFB3vOe9xCJRDh37hzGGEKhkHOtdSQSYc+ePbz3ve/lgx/84Bq7L7KxXYl8NsbQ2dkJ4Nw/2uv10tzc7NybOhwO09raSiwWo7e3l4GBAaLRKJOTk7S2trKwsMDw8PDFhimyoVzKMeo/Mca8XBlKa6609QDnVq0zVml7W+Vy2RnCzmazzMzMsLS09KbrVq+3NsYwMzPjXMqx+iby1QkUFhYWmJ6eZmRk5BLCFNkULls+w6/uoDU6OkogEKC3t5eRkREymQzd3d1Eo1EWFxdJJpPOxnU0GiWZTDI7O8vy8vLljk/kqnWxhfpvgQFgLzAJ/O8L/QXGmHuNMc8ZY54rl8sYY/D5fNTV1TE+Ps65c+cYHx93phaFX92J5+TJk7z66qtMTEzQ2NhIU1MT0Wj0vOs1c7kchw4d4pOf/CQnTpy4yDBFNoXLms8LCwvOfNxbt26lvb2dlpYW/H4/L7zwAvPz80xOTnLu3DmWl5fxeDyUy2XK5TK//uu/zu7du/m1X/u1yx2jyFXrogq1tXbaWluy1paBr/Cr4bBxoHfVqrFK25v9joestQestQcaGxudSzWqE/LncjlKpRILCwvnXXJV3VuuTpJQV1eHMYZ8Pu/sTRtjqKur4+GHH76Y8EQ2lcudz6snLKqeb5LJZIhGowwNDTE9Pc3MzAxtbW2EQiFneBxWDm9Vl6uXbIpsdhdVqI0x3auefhSonkH6A+AuY4zPGLMVGAQOv9PvqyZzU1MTpVKJgwcPsri46BTeXC5HXd3KOSzFYpF8Pk9bWxvbt2937mVdvRFA9b7Wr7zyylsOn4vIr1zufAbOG92y1pJOp5mZmWFmZoZQKEQoFMLj8Tj3ml+93rlz5zhy5Ai5XO7yBipylXrHub6NMd8AfgNoM8aMAZ8FfsMYsxewwBngvwBYa39pjPk2cAwoAvdba99438rXd8LrJZfL0draSnt7Oz09PTQ0NDA8PEwul2N5eZlAIFDtjzPMXX1e3QKvLt9zzz2Mjo5e4FchsvFdiXzOZDJU3o+1luXlZWdj2+/309jYiMfjoVAoUCwWKZfL581IeM8991zOkEWueu9YqK21H3uT5r97m/X/B/A/LqQT1XtMZzIZ5z6zmUzGuZetz+cjlUrh9/vf8N7qjEfVPe7R0VEVaZG3cCXyuVgsUiwWnZycm5sjlUrR09PjvGatdWYuqx668nq9vPDCCxcUj8hm4Iq7Z2WzWZqbmwmHw5w9e5Z/+7d/Y9euXXR3dzM2NkY6naazs5NgMEipVDrv0i2Px0OxWGRubo577rnH2ZoXkdoZGxujt3fl8Hb1Z3UUrDrUvTqPq5dnfvrTn77ynRVxOVdMIVrdys5kMmSzWWKxmLOl3d/fz9LSElNTU8711tWbcwDOzEfPPfecirSIC1hrSSaT5PP589qqqoeoVh+yOnr0KJ///OeveF9Frgau2KOur68nmUwyODjIT37yE7Zv347f7ycYDLK8vEx7eztjY2O88sorHDhwgFwuRyKRIBqNct999zE2NlbrEESkIhAIOCNh7373u50TPauqRbpUKjE+Ps7Pf/5zvvKVr9SotyLu54pCDeD3+xkbG6OlpcW5H/X09DTnzp1j27ZtLC0tEY+vTKjU0dHBkSNHeOqpp1SkRVymenOc2dlZSqWSc3lltWAbY/B4PKTTaf76r/+ao0ePvt2vE9n0XFGofT4fHo8Hj8dDR0cHzzzzDM899xzf/e53AXjPe97DE088AcAjjzzCnj17+OEPf1jLLovIW8hms0xNTZFMJvnFL37Bhz70IVKpFPF4nFAoxKOPPspjjz3GxMRErbsqclUwb3UDjCtpy5Yt9o477uDs2bN873vfq3V3RNzseWvtgVp34u0YY5w/KvX19bz44ouUy2U+85nPcPjwYcbH33TOFJHNaE357Io96ng8zhe/+MVad0NELrNCocDDDz9Ma2srjz32WK27I3JVcsUe9eotcBF5W1fVHrWIvK015bMrLs8SERGRN6dCLSIi4mIq1CIiIi6mQi0iIuJiKtQiIiIupkItIiLiYirUIiIiLqZCLSIi4mIq1CIiIi6mQi0iIuJiKtQiIiIupkItIiLiYirUIiIiLqZCLSIi4mIq1CIiIi72joXaGNNrjHnCGHPMGPNLY8yfVtpbjDGPG2NOVX42V9qNMeaLxpjTxpiXjTH71zsIEVkb5bPI1Wcte9RF4L9aa4eAm4D7jTFDwKeAn1lrB4GfVZ4D/CYwWHncC/ztZe+1iFws5bPIVeYdC7W1dtJa+0JlOQUcB3qAjwCPVFZ7BLijsvwR4Gt2xdNAkzGm+7L3XEQumPJZ5OpzQceojTH9wD7gGaDTWjtZeWkK6Kws9wDnVr1trNImIi6ifBa5OnjXuqIxJgx8F/gza23SGOO8Zq21xhh7IR9sjLmXlaE0EbnClM8iV4817VEbY+pZSep/tNY+Wmmerg6BVX7OVNrHgd5Vb49V2s5jrX3IWnvAWnvgYjsvIhdO+SxydVnLWd8G+DvguLX286te+gFwd2X5buD7q9r/sHK26E3A4qohNRGpIeWzyFXIWvu2D+BWwAIvAy9WHh9oDgGZAAAEn0lEQVQAWlk5O/QU8C9AS2V9AzwIjACvAAfW8BlWDz30WNPjuXfKJ+WzHnpcNY815bOpJFZNXejxMJFN7Hm3Dy8rn0XWbE35rJnJREREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERcTIVaRETExVSoRUREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERcTIVaRETExVSoRUREXEyFWkRExMVUqEVERFxMhVpERMTFVKhFRERcTIVaRETExVSoRUREXEyFWkRExMW8te5AxRywVPm5GbWh2DerC41/y3p15DJKA8O17kSN6P/z5o3/YmJfUz4ba+2Fd2cdGGOes9YeqHU/akGxb87YYWPGvxFjWqvNHDts7vjXM3YNfYuIiLiYCrWIiIiLualQP1TrDtSQYt+8NmL8GzGmtdrMscPmjn/dYnfNMWoRERF5IzftUYuIiMjr1LxQG2Peb4wZNsacNsZ8qtb9WQ/GmK8aY2aMMUdXtbUYYx43xpyq/GyutBtjzBcr38fLxpj9tev5pTPG9BpjnjDGHDPG/NIY86eV9g0fvzHGb4w5bIx5qRL7f6+0bzXGPFOJ8VvGmIZKu6/y/HTl9f5a9v9ibPR8Vi5vzlyGGueztbZmD6AOGAG2AQ3AS8BQLfu0TnH+OrAfOLqq7X8Bn6osfwr4n5XlDwA/BgxwE/BMrft/ibF3A/sryxHgJDC0GeKvxBCuLNcDz1Ri+jZwV6X9S8AnKsv3AV+qLN8FfKvWMVxgvBs+n5XLmzOXK/HULJ9rHfjNwKFVz/8c+PNa/4OsU6z9r0vuYaC7stwNDFeWvwx87M3W2wgP4PvAbZstfiAIvAC8m5VJEbyVdicHgEPAzZVlb2U9U+u+X0CMmyKflctOPJsylyuxXNF8rvXQdw9wbtXzsUrbZtBprZ2sLE8BnZXlDfudVIZ+9rGyJbop4jfG1BljXgRmgMdZ2eNMWGuLlVVWx+fEXnl9EWi9sj2+JBvq3+4CbIr/y6ttxlyG2uVzrQu1AHZlk2tDn35vjAkD3wX+zFqbXP3aRo7fWluy1u4FYsCNwHU17pKso438f7lqs+Yy1C6fa12ox4HeVc9jlbbNYNoY0w1Q+TlTad9w34kxpp6VxP5Ha+2jleZNEz+AtTYBPMHK0FiTMaY6z/7q+JzYK69Hgfkr3NVLsSH/7dZg0/xfVi6vuNL5XOtC/SwwWDlrroGVA+4/qHGfrpQfAHdXlu9m5XhPtf0PK2dM3gQsrhpWuuoYYwzwd8Bxa+3nV7204eM3xrQbY5oqywFWjucdZyXBf7ey2utjr34nvwv8v8oeytVis+bzhv+/DJs7l6HG+eyCg/IfYOXswRHg07XuzzrF+A1gEiiwcgzj46wcq/gZcAr4F6Clsq4BHqx8H68AB2rd/0uM/VZWhsJeBl6sPD6wGeIH9gBHKrEfBT5Tad8GHAZOA98BfJV2f+X56crr22odw0XEvKHzWbm8OXO5Ek/N8lkzk4mIiLhYrYe+RURE5G2oUIuIiLiYCrWIiIiLqVCLiIi4mAq1iIiIi6lQi4iIuJgKtYiIiIupUIuIiLjY/wdsdBf9uajqiwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0811 meters\n",
      "orientation error: 15.67 degrees\n",
      "\n",
      "\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "position error: 0.0114 meters\n",
      "orientation error: 0.57 degrees\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "# display random pairs of (input image, rendered pose estimate)\n",
    "count = 0\n",
    "num_examples = 8\n",
    "\n",
    "with torch.no_grad():\n",
    "    for input, target, object_index in val_loader:\n",
    "        visualize_batch(model, pose_renderers, input, target, object_index)\n",
    "        count += input.size(0)\n",
    "        if count == num_examples:\n",
    "            break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
